package br.ufpe.cin.msc.jrsj2.recommender.persistence.dao;

import br.ufpe.cin.msc.jrsj2.recommender.persistence.dao.jpa.JPADAOFactory;

public abstract class DAOFactory {

	private static final int JPA = 1;
	private static final int JDO = 2;
	private static final int FACTORY = JPA;

	protected DAOFactory() {
	}

	public final static DAOFactory getDAOFactory() {
		switch (FACTORY) {
		case JPA:
			return JPADAOFactory.getInstance();
		case JDO:
			// return new JDODAOFactory();
			return null;
		default:
			return null;
		}
	}

	public abstract ProgramDAO getProgramDAO();

	public abstract ChannelDAO getChannelDAO();

	public abstract ClientDAO getClientDAO();

	public abstract ProfileDAO getProfileDAO();

}
